package org.zjx.data.screen;

import org.zjx.command.entity.screen.Room;
import org.zjx.data.BaseSceneBuilder;
import java.awt.*;

public class ChangShouCunSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "长寿村";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(159, 208);
    }

    @Override
    protected void addMonsters() {

    }

    @Override
    protected void addNpcs() {
        addNpc("太白金星", new Point(53, 18));
        addNpc("毛驴张", new Point(81, 129));
        addNpc("超级巫医", new Point(124, 114));
        addNpc("钟书生", new Point(45, 155));
        addNpc("慧觉和尚", new Point(136, 67));
        addNpc("海老先生", new Point(101, 38));
        addNpc("凤凰姑娘", new Point(24, 106));
        addNpc("蝴蝶女", new Point(50, 135));
        addNpc("许大娘", new Point(80, 65));
        addNpc("钱老板", new Point(136, 84));
        addNpc("许姑娘", new Point(78, 172));
        addNpc("南极仙翁", new Point(110, 189));
        addNpc("陆萧然", new Point(16, 22));
        addNpc("长寿商人", new Point(141, 49));
        addNpc("长寿货商", new Point(87, 21));
        addNpc("长寿特产商人", new Point(143, 115));
        addNpc("长寿珍品商人", new Point(111, 53));
        addNpc("虬虬髯髯客", new Point(109, 123));
        addNpc("强行PK申请人", new Point(60, 91));
        addNpc("马婆婆", new Point(43, 71));
        addNpc("驿站老板", new Point(60, 67));
        addNpc("西牛贺州土地", new Point(96, 12));
        addNpc("天将", new Point(21, 58));
        addNpc("鬼谷道士", new Point(182, 14));
        addNpc("铁扇公主", new Point(180, 60));
        addNpc("路人甲", new Point(44, 130));
        addNpc("驼背大鼋鼋", new Point(88, 83));
    }

    @Override
    protected void addRooms() {
        Room changShouWeaponShop = createRoom("长寿村武器店", null);
        addNpcToRoom(changShouWeaponShop, "武器店老板", new Point(28, 8));
        rooms.add(changShouWeaponShop);

        Room changShouClothShop = createRoom("长寿村服饰店", null);
        addNpcToRoom(changShouClothShop, "裁缝张", new Point(13, 9));
        rooms.add(changShouClothShop);

        Room changShouDrugStore = createRoom("长寿村药店", null);
        addNpcToRoom(changShouDrugStore, "药店老板", new Point(24, 8));
        rooms.add(changShouDrugStore);

        Room changShouGrocery = createRoom("长寿村杂货店", null);
        addNpcToRoom(changShouGrocery, "杂货店老板", new Point(10, 8));
        rooms.add(changShouGrocery);

        Room changShouBank = createRoom("长寿村钱庄", null);
        addNpcToRoom(changShouBank, "钱庄老板", new Point(20, 9));
        rooms.add(changShouBank);

        Room changShouHotel = createRoom("长寿村酒馆", null);
        addNpcToRoom(changShouHotel, "酒楼老板", new Point(15, 9));
        rooms.add(changShouHotel);

        Room changShouHotelRoom = createRoom("酒店上房", null);
        addNpcToRoom(changShouHotelRoom, "店小二", new Point(12, 8));
        rooms.add(changShouHotelRoom);

        Room changShouTemple = createRoom("神庙", null);
        addNpcToRoom(changShouTemple, "庙祝", new Point(32, 10));
        rooms.add(changShouTemple);

        Room changShouHouse1 = createRoom("长寿村民居", null);
        addNpcToRoom(changShouHouse1, "鲁成", new Point(13, 12));
        rooms.add(changShouHouse1);

        Room changShouHouse2 = createRoom("长寿村民居", null);
        addNpcToRoom(changShouHouse2, "茶小二", new Point(30, 15));
        addNpcToRoom(changShouHouse2, "茶客", new Point(34, 14));
        rooms.add(changShouHouse2);

        Room villageHeadHouse = createRoom("村长家", null);
        addNpcToRoom(villageHeadHouse, "长寿村村长", new Point(11, 14));
        rooms.add(villageHeadHouse);

        Room changShouPawnShop = createRoom("长寿村当铺", null);
        addNpcToRoom(changShouPawnShop, "当铺老板", new Point(20, 13));
        rooms.add(changShouPawnShop);
    }

    @Override
    protected void addTeleports() {
        addSceneTeleport(new Point(139, 8), "长寿郊外", new Point(156, 159), new Point(146, 5));
        addSceneTeleport(new Point(109, 204), "方寸山", new Point(17, 36), new Point(110, 206));

        addNpcTeleport("驿站老板", new Point(63, 67), "北俱芦洲", new Point(195, 7), new Point(60, 67));
        addNpcTeleport("驿站老板", new Point(26, 58), "天宫", new Point(236, 16), new Point(21, 58));

        addRoomTeleport(new Point(69, 102), "长寿村武器店", new Point(28, 8), new Point(70, 108));
        addRoomTeleport(new Point(148, 144), "长寿村民居", new Point(12, 9), new Point(147, 147));
        addRoomTeleport(new Point(87, 70), "长寿村服饰店", new Point(13, 9), new Point(85, 72));
        addRoomTeleport(new Point(133, 51), "长寿村杂货店", new Point(10, 8), new Point(133, 52));
        addRoomTeleport(new Point(79, 25), "长寿村药店", new Point(24, 8), new Point(80, 27));
        addRoomTeleport(new Point(19, 36), "村长家", new Point(32, 10), new Point(16, 39));
    }

    public static void main(String[] args) {
        ChangShouCunSceneBuilder builder = new ChangShouCunSceneBuilder();
        builder.execute("changshoucun_scene.json", "长寿村");
    }
}